package sun.superstring.innerclass4;

public class Test2 {
    public static void main(String[] args) {
        // 目标：搞清楚匿名内部类的使用形式（语法）：通常可以作为一个对象参数传输给方法使用。
        // 需求：学生、老师要参加游泳比赛
        Swim s1 = new Swim() {
            @Override
            public void swimming() {
                System.out.println("学生蛙泳式游泳");
            }
        };
        start(s1);  // 对象回调

        System.out.println("=======================");

        start(new Swim() {
            @Override
            public void swimming() {
                System.out.println("老师狗爬式游泳");
            }
        });


    }

    public static void start(Swim s){
        System.out.println("开始游泳……");
        s.swimming();
        System.out.println("游泳结束……");
    }
}

interface Swim{
    void swimming(); // 游泳方法
}